home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xml / SchemaSpace.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  2.6 KB  |  93 lines

  1. package com.extensibility.xml;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Hashtable;
  5.  
  6. public class SchemaSpace {
  7.    protected Hashtable map = new Hashtable();
  8.    protected String defaultNamespace;
  9.  
  10.    public SchemaSpace() {
  11.       this.defaultNamespace = "";
  12.    }
  13.  
  14.    public SchemaSpace(String var1, SchemaIntf var2) {
  15.       this.init(var1, var2);
  16.    }
  17.  
  18.    public void init(String var1, SchemaIntf var2) {
  19.       this.clear();
  20.       this.defaultNamespace = var1;
  21.       this.add(var1, var2);
  22.    }
  23.  
  24.    public void add(String var1, SchemaIntf var2) {
  25.       if (var2 == null) {
  26.          this.map.put(var1, "#null");
  27.       } else {
  28.          this.map.put(var1, var2);
  29.          Enumeration var3 = var2.getDeclarations(Class.forName("com.extensibility.xml.NamespaceDeclaration"));
  30.  
  31.          while(var3.hasMoreElements()) {
  32.             NamespaceDeclaration var4 = (NamespaceDeclaration)var3.nextElement();
  33.  
  34.             try {
  35.                SchemaIntf var5 = var2.getNamedSchema(((BaseDeclaration)var4).getName());
  36.                if (var5 != null) {
  37.                   this.add(var4.getNamespace(), var5);
  38.                }
  39.             } catch (Exception var6) {
  40.             }
  41.          }
  42.       }
  43.  
  44.    }
  45.  
  46.    public void add(String var1, URI var2) {
  47.       Schema var3 = null;
  48.       if (var2 != null && var2.exists()) {
  49.          try {
  50.             var3 = new Schema(var2, SchemaUtilities.getFlavor(var2, true));
  51.             var3.parse(var2, 0, (Object)null);
  52.          } catch (Exception var5) {
  53.             var3 = null;
  54.          }
  55.       }
  56.  
  57.       this.add(var1, (SchemaIntf)var3);
  58.    }
  59.  
  60.    public boolean has(String var1) {
  61.       if (var1 == null) {
  62.          var1 = null;
  63.       }
  64.  
  65.       return var1 != null && this.map.containsKey(var1);
  66.    }
  67.  
  68.    public SchemaIntf get(String var1) {
  69.       if (var1 == null) {
  70.          return this.getDefaultSchema();
  71.       } else {
  72.          Object var2 = this.map.get(var1);
  73.          return var2 instanceof SchemaIntf ? (SchemaIntf)var2 : null;
  74.       }
  75.    }
  76.  
  77.    public SchemaIntf getDefaultSchema() {
  78.       return this.get(this.defaultNamespace);
  79.    }
  80.  
  81.    public String getDefaultNS() {
  82.       return this.defaultNamespace;
  83.    }
  84.  
  85.    public void remove(String var1) {
  86.       this.map.remove(var1);
  87.    }
  88.  
  89.    public void clear() {
  90.       this.map.clear();
  91.    }
  92. }
  93.